package edu.paper.job.service;

import java.io.Serializable;
import java.util.List;

import edu.paper.job.domain.Job;

/**
 * 工作业务逻辑
 * @author bowen
 *
 */
public interface JobService {
	public List<Job> find(Job job);		//带条件查询，可以为空，为空时查询所有
	public Job get(Serializable id);		//查询一个
	public void insert(Job job);		//保存
	public void update(Job job);		//更新数据
	public void deleteById(Serializable id);		//删除一个
	public void delete(Serializable ids[]);		//删除一批
	public List<Job> query(Job job);		//带条件模糊查询
	/**
	 * 删除工作，如果没有应聘者浏览该招聘信息，就真删除
	 * @param Job
	 */
	public void deleteJob(Job job);
	/**
	 * 增加工作
	 * @param Job
	 */
	public void insertJob(Job job);
	/**
	 * 发布工作
	 * @param Job
	 */
	public void publishJob(Job job);
	/**
	 * 更新工作
	 * @param Job
	 */
	public void updateJob(Job job);
	/**
	 * 撤销工作
	 * @param Job
	 */
	public void coverJob(Job job);
	/**
	 * 列出企业没被删除的工作
	 * @return list
	 */
	public List<Job> listCompanyJobs(Job job);
	/**
	 * 列出企业发布，没被删除的工作
	 * @return list
	 */
	public List<Job> listPublishedJobs(Job job);
	
	/**
	 * 模糊查询一批企业发布的未删除的招聘信息
	 * @param job
	 * @return 符合条件的招聘集合
	 */
	public List<Job> queryJob(Job job);
}
